//package com.slofzx.nuoda.evaluation.project.enums;
//
//import com.fasterxml.jackson.annotation.JsonFormat;
//import com.slofzx.nuoda.common.EnumConfig;
//import com.slofzx.nuoda.common.config.Type;
//import com.slofzx.nuoda.common.enums.DataFormatEnum;
//import com.slofzx.nuoda.evaluation.param.vo.CommonParamDataVO;
//import com.slofzx.nuoda.evaluation.param.vo.CommonYearRelatedVO;
//import com.slofzx.nuoda.evaluation.project.vo.BatchCommonDataVO;
//import com.slofzx.nuoda.evaluation.project.vo.ComputeInfoDataVO;
//import com.slofzx.nuoda.evaluation.project.vo.ComputeInfoDataVO;
//import com.slofzx.nuoda.evaluation.project.vo.ProjectInfoVO;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * 评价任务公共评价参数
// * @author sunfuyong
// */
//@JsonFormat(shape = JsonFormat.Shape.OBJECT)
//@EnumConfig(id="batch-common-param",name = "任务评价参数",valueFormat = DataFormatEnum.JSON)
//public enum BatchCommonParamEnum implements Type {
//
//
//    OIL_PRICE("oil_price","油价",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getOilPrice() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getOilPrice().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    GAS_PRICE("gas_price","天然气价格",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getGasPrice() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getGasPrice().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    CONDENSATE_PRICE("condensate_price","轻烃价格",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getCondensatePrice() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getCondensatePrice().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    LIQUID_GAS_PRICE("liquid_gas_price","液化气价格",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getLiquidGasPrice() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getLiquidGasPrice().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    OIL_COMMODITY_RATE("oil_commodity_rate","原油商品率",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getOilCommodityRate() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getOilCommodityRate().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    GAS_COMMODITY_RATE("gas_commodity_rate","天然气商品率",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getGasCommodityRate() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getGasCommodityRate().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    OTHER_COMMODITY_RATE("other_commodity_rate","其他商品率",true){
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null || dataVO.getYearDataList() == null) {
//                return null;
//            }
//            Map<Integer, String> dataMap = new HashMap<>();
//            for (BatchCommonDataVO item: dataVO.getYearDataList()) {
//                if (item.getOtherCommodityRate() == null) {
//                    continue;
//                }
//                dataMap.put(item.getYear(), item.getOtherCommodityRate().toString());
//            }
//            return dataMap;
//        }
//    },
//
//    IS_COST_DETAIL("is_cost_detail","成本测算分构成") {
//        @Override
//        public Object getRealValue(ComputeInfoDataVO dataVO) {
//            if(dataVO == null) {
//                return null;
//            }
//            CostEvaMethodEnum methodEnum = CostEvaMethodEnum.getEnum(dataVO.getCostEvaMethod());
//            if(methodEnum == CostEvaMethodEnum.COST_DETAIL) {
//                return true;
//            }
//            return false;
//        }
//    },
//
//    ;
//    /**
//     * 数据类型id
//     */
//    private String id;
//    /**
//     * 数据类型展示名称
//     */
//    private String name;
//    /**
//     * 是否年份相关
//     */
//    private boolean yearRelated;
//
//    /**
//     * 单位
//     */
//    private Type unit;
//    /**
//     * 计算公式
//     */
//    private String expression;
//
//    BatchCommonParamEnum(String id, String name) {
//        this.id = id;
//        this.name = name;
//    }
//    BatchCommonParamEnum(String id, String name, String expression) {
//        this.id = id;
//        this.name = name;
//        this.expression = expression;
//    }
//    BatchCommonParamEnum(String id, String name, String expression, boolean yearRelated) {
//        this.id = id;
//        this.name = name;
//        this.expression = expression;
//        this.yearRelated = yearRelated;
//    }
//    BatchCommonParamEnum(String id, String name, String expression, Type unit, boolean yearRelated) {
//        this.id = id;
//        this.name = name;
//        this.expression = expression;
//        this.unit = unit;
//        this.yearRelated = yearRelated;
//    }
//    BatchCommonParamEnum(String id, String name, boolean yearRelated) {
//        this.id = id;
//        this.name = name;
//        this.yearRelated = yearRelated;
//    }
//    BatchCommonParamEnum(String id, String name, Type unit) {
//        this.id = id;
//        this.name = name;
//        this.unit = unit;
//    }
//    BatchCommonParamEnum(String id, String name, Type unit, boolean yearRelated) {
//        this.id = id;
//        this.name = name;
//        this.unit = unit;
//        this.yearRelated = yearRelated;
//    }
//
//    @Override
//    public String getId() {
//        return id;
//    }
//
//    /**
//     * 兼容可研存储编码
//     * @return
//     */
//    public String getCode() {
//        return id;
//    }
//
//    @Override
//    public String getName() {
//        return name;
//    }
//
//    public boolean isYearRelated() {
//        return yearRelated;
//    }
//
//    public String getExpression() {
//        return expression;
//    }
//
//    public String getDataType() {
//        return "number";
//    }
//    /**
//     * 根据id获取对应的枚举
//     * @param id 枚举值的标识
//     * @return
//     */
//    public static BatchCommonParamEnum getEnum(String id){
//        for(BatchCommonParamEnum dataTypeEnum: BatchCommonParamEnum.values()){
//            if(dataTypeEnum.getId().equals(id)){
//                return dataTypeEnum;
//            }
//        }
//        return null;
//    }
//    public abstract Object getRealValue(ComputeInfoDataVO dataVO);
//
//
//    public String getUnit(){
//        if(unit == null) {
//            return null;
//        }
//        return unit.getId();
//    }
//}
